Fiber optic communication lines are being used increasingly for data communications. This usage has raised several new system design issues, particularly relating to interfaces between electronic devices, such as logic devices, and optical transmitters and receivers. Communication interface devices which convert parallel data to a serial form for transmission over a high speed serial link and vice versa have certain design constraints because of the characteristics of fiber optic communication lines. Signals transmitted over optical fibers should have approximately a 50% balance between logical high and low states, and should keep a maximum number of consecutive bits in the same logic state as low as possible. These requirements have to do with facilitating optical reception of the signal, and clock recovery. Existing clock recovery technology can most easily extract a clock from a data stream over a fiber optic communication link if the maximum number of consecutive identical bits in the data stream is no higher than about 20 to 25 bits.
The American National Standards Institute (ANSI) X3T9.3 Committee has recently promulgated a new interface standard for digital devices, such as computers. The standard is called HIPPI, for HIgh Performance Parallel Interface. A HIPPI interface is defined as having a given number of parallel data lines, e.g., 32 data lines, parity lines, and various control lines. HIPPI interfaces conform to the ANSI X3T9.3 standard for differential emitter coupled logic (ECL) signals. Standard 100-pin connectors are used.
An interface device which is to be used between a HIPPI interface and a fiber optic communication line essentially converts the HIPPI signals to a serial form for transmission over the fiber optic line, and converts serial information received over the line back to HIPPI.
In the past, fiber optic communication lines primarily carried telephone conversations. Data streams representative of telephone conversations or other voice messages could generally be relied upon to be random enough that scrambling would produce a 50% balance and frequent transitions would be available. However, since more and more computer and digital data systems are using fiber optic lines for communication, this randomness can no longer be guaranteed. In some instances, particularly if the line is idle, long series of consecutive identical bits can occur. Thus, there is a need for an interface apparatus which facilitates fiber optic communication by providing a serial data stream having suitable balance and frequent data transitions, regardless of the characteristics of the input data.
Conventional systems have attempted to meet these balance and consecutive bit requirements by using encoding schemes such as 4B/5B and 8B/10B encoding. In some cases, NRZ to NRZI conversion is used. These techniques add 2 bits of overhead for each 8 data bits. Maintaining a given data bit rate thus involves a 25% overall bit rate increase. This increase may place a burden on the transmission medium and increase system cost. In addition, these encoding schemes are moderately complex to implement.
An alternative approach to meeting the 50% balance and consecutive bit requirements has involved randomizing data by scrambling. An input data stream is passed through a linear sequential circuit which sums a pseudorandom bit stream with the data to scramble the data. The data thus scrambled is transmitted, and descrambled by a similar process at its destination. Unfortunately, with some input data, this technique does not always establish a good 50% balance, and there remains a probability of 1/2.sup.n that an n-bit period of no transitions can occur. Therefore, this technique does not guarantee frequent enough transitions for the clock recovery circuit.
A scrambling technique which attempts to provide a serial data stream having good transmission characteristics is described in the article "Guided Scrambling: A New Line Coding Technique for High Bit Rate Fiber Optic Transmission Systems" by Fair et al (IEEE Transactions on Communications, Vol. 39, No. 2, February 1991, pp. 289-297). The technique described in this article involves augmenting an input data stream prior to scrambling with a given scrambling polynomial in order to improve the balance and bit transition characteristics of the scrambled data stream. Augmentation is accomplished by inserting augmentation bits having different values, to produce a plurality of augmented bit streams. The bit stream having the best transmission characteristics is selected for transmission. This method is relatively complex and cumbersome, and also delays the data stream, since the augmentation process is guided by feedback based on the relative transmission characteristics of the augmented data streams produced.